package com.modelo.datos.app;

import java.io.Serializable;

import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;

import com.core.app.modelo.Entidad;

@Entity(name="UsuarioSistema_Permiso")
@Table(name="UsuarioSistema_Permiso")
@Access(AccessType.FIELD)

public class UsuarioSistema_Permiso extends Entidad implements Serializable {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="idUsuarioSistema_Permiso")
	@Basic(optional=false)
	private Integer idUsuarioSistema_Permiso;
	
	@Column (name="idUsuarioSistema_Permiso", insertable=false, updatable=false)
	@Basic(optional=false)
	private Integer id;
	
	@JoinColumn(name = "idUsuarioSistema", referencedColumnName="idUsuarioSistema")
	@ManyToOne(fetch = FetchType.LAZY, optional = true)
	@NotFound (action = NotFoundAction.IGNORE)
	private UsuarioSistema usuarioSistema;
	
	@JoinColumn(name = "idPermiso", referencedColumnName="idPermiso")
	@ManyToOne(fetch = FetchType.LAZY, optional = true)
	@NotFound (action = NotFoundAction.IGNORE)
	private Permiso permiso;
	
	@Column(name="password")
	@Basic(optional=true)
	private String password;
	
	public UsuarioSistema_Permiso(){
		
	}

	public Integer getIdUsuarioSistema_Permiso() {
		return idUsuarioSistema_Permiso;
	}

	public void setIdUsuarioSistema_Permiso(Integer idUsuarioSistema_Permiso) {
		this.idUsuarioSistema_Permiso = idUsuarioSistema_Permiso;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public UsuarioSistema getUsuarioSistema() {
		return usuarioSistema;
	}

	public void setUsuarioSistema(UsuarioSistema usuarioSistema) {
		this.usuarioSistema = usuarioSistema;
	}

	public Permiso getPermiso() {
		return permiso;
	}

	public void setPermiso(Permiso permiso) {
		this.permiso = permiso;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public void finalize() throws Throwable {
		super.finalize();
	}
}

